﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace BrnMall.WeiXin.Sdk.Domain
{
    /// <summary>
    /// 消息实体,发送消息时用
    /// </summary>
    [Serializable]
    public class MessageModel
    {
        /// <summary>
        /// 成员ID列表（消息接收者，多个接收者用‘|’分隔，最多支持1000个）。特殊情况：指定为@all，则向该企业应用的全部成员发送
        /// </summary>
        public string touser { get; set; }
        /// <summary>
        /// 部门ID列表，多个接收者用‘|’分隔，最多支持100个。当touser为@all时忽略本参数
        /// </summary>
        public string toparty { get; set; }
        /// <summary>
        /// 标签ID列表，多个接收者用‘|’分隔，最多支持100个。当touser为@all时忽略本参数
        /// </summary>
        public string totag { get; set; }
        /// <summary>
        /// 消息类型，此时固定为：text
        /// </summary>
        public string msgtype { get; set; }
        /// <summary>
        /// 企业应用的id，整型。可在应用的设置页面查看
        /// </summary>
        public int agentid { get; set; }

        /// <summary>
        /// 文本消息内容，最长不超过2048个字节
        /// </summary>
        public TextMessageContentModel text { get; set; }

        /// <summary>
        /// 图文消息内容
        /// </summary>
        public ImageMessageContentModel image { get; set; }

        public string media_id { get; set; }
        /// <summary>
        /// 表示是否是保密消息，0表示否，1表示是，默认0
        /// </summary>
        public int safe { get; set; }
    }

    public class TextMessageContentModel
    {
        public string content { get; set; }
    }

    public class ImageMessageContentModel
    {
        public string media_id { get; set; }
    }

    /// <summary>
    /// 部门新增、更新、员工新增、更新等操作返回的状态
    /// </summary>
    public class ReturnModel
    {
        public int errcode { get; set; }

        public string errmsg { get; set; }

        /// <summary>
        /// 部门新增时，返回的id
        /// </summary>
        public int id { get; set; }
    }
}